<template>
	<a-modal :title="title" width="85%" :visible="visible" :maskClosable="false" :confirmLoading="confirmLoading"
		@ok="handleSubmit" @cancel="handleCancel" :okText="currentType == 'audit' ? '确认' : '确认报价'"
		:footer="currentType == 'readonly' ? null : undefined">
		<a-spin :spinning="confirmLoading">
			<a-form :form="form">
				<a-row>
					<a-col :span="8">
						<a-form-item label="采购单号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
							<a-input placeholder="请输入采购单号" :disabled="true" v-decorator="['orderNumber']" />
						</a-form-item>
					</a-col>
					<a-col :span="8">
						<a-form-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
							<a-select :disabled="true" v-decorator="['executeStatus']" style="width: 100%;">
								<a-select-option v-for="item in executeStatusList" :key="item.id" :value="item.id">{{
									item.name
								}}</a-select-option>
							</a-select>
						</a-form-item>
					</a-col>
					<a-col :span="8">
						<a-form-item label="提交人" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
							<a-input placeholder="请输入提交人" :disabled="true" v-decorator="['createUserName']" />
						</a-form-item>
					</a-col>
					<a-col :span="8">
						<a-form-item label="提交时间" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
							<a-input placeholder="请输入提交时间" :disabled="true" v-decorator="['createTime']" />
						</a-form-item>
					</a-col>
					<a-col :span="8">
						<a-form-item label="供应商" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
							<a-input placeholder="请输入提交时间" :disabled="true" v-decorator="['supplierName']" />
						</a-form-item>
					</a-col>
					<a-col :span="24">
						<a-form-item label="采购单类型" :labelCol="labelColBlock" :wrapperCol="wrapperColBlock" has-feedback="">
							<a-radio-group style="width: 100%;" disabled v-decorator="['subOrderType']">
								<a-radio :value="1"> 常规采购 </a-radio>
								<a-radio :value="2"> 代加工采购 </a-radio>
							</a-radio-group>
						</a-form-item>
					</a-col>
					<a-col :span="24">
						<a-form-item label="备注" :labelCol="labelColBlock" :wrapperCol="wrapperColBlock" has-feedback="">
							<a-textarea :disabled="true" placeholder="请输入备注" v-decorator="['remark']" />
						</a-form-item>
					</a-col>
					<!-- 采购池 -->
					<template>
						<div v-if="!isJSYRole()">
							<div
								v-if="currentType == 'quote' || (currentType == 'readonly' && currentExecuteStatus != '1479467252946591746')">
								<!-- {{ currentDetails.supplier }} -->
								<!-- 采购池 且 主要供应商 -->
								<a-col :span="11"
									v-if="(currentDetails.supplier.isInvoice == 2 && currentDetails.supplier.unitRanId != '1498270916314161153') || currentType == 'audit' || currentType == 'readonly'">
									<a-form-item label="发票信息" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
										<div style="font-weight: bold;" v-if="currentType == 'quote'">
											发票类型：<span style="margin-right: 20px;">{{
												(currentDetails.supplier.invoiceType == 1 ? '普票' :
													currentDetails.supplier.invoiceType == 2 ? '专票' : '不需要发票')
											}}</span>
											税率：<span>{{
												currentDetails.supplier.taxRate ? currentDetails.supplier.taxRate + '%'
													: '--'
											}}</span>
										</div>
										<div style="font-weight: bold;" v-else>
											发票类型：<span style="margin-right: 20px;">{{
												(currentDetails.invoiceType == 1 ? '普票' :
													currentDetails.invoiceType == 2 ? '专票' : '不需要发票')
											}}</span>
											税率：<span>{{
												currentDetails.taxRate ? currentDetails.taxRate + '%' : '--'
											}}</span>
										</div>
									</a-form-item>
								</a-col>
								<!-- 采购池 且 普通供应商 -->
								<div
									v-if="(currentDetails.supplier.isInvoice == 1 || currentDetails.supplier.unitRanId == '1498270916314161153') && currentType == 'quote'">
									<a-col :span="8">
										<a-form-item label="是否需要开票" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback="">
											<a-radio-group v-decorator="['isInvoice', { rules: [{ required: true, message: '请选择！' }] }]"
												style="width: 100%" v-model="fcData.isInvoice" @change="() => {
													$set(fcData, 'invoiceType', undefined);
													$set(fcData, 'taxRate', undefined);
													form.setFieldsValue({ invoiceType: undefined, taxRate: undefined });
												}">
												<a-radio :value="1">不需要</a-radio>
												<a-radio :value="2">需要</a-radio>
											</a-radio-group>
										</a-form-item>
									</a-col>
									<a-col :span="12">
										<a-form-item label="发票类型" v-if="fcData.isInvoice === 2" :labelCol="labelCol"
											:wrapperCol="wrapperCol" has-feedback="">
											<a-radio-group v-decorator="['invoiceType', { rules: [{ required: true, message: '请选择！' }] }]"
												v-model="fcData.invoiceType" style="width: 100%"
												@change="() => { $set(fcData, 'taxRate', undefined); form.setFieldsValue({ taxRate: undefined }) }">
												<a-radio :value="1">普票</a-radio>
												<a-radio :value="2">专票</a-radio>
											</a-radio-group>
										</a-form-item>
									</a-col>
									<a-col :span="8">
										<a-form-item label="税率" v-if="fcData.isInvoice === 2" :labelCol="labelCol" :wrapperCol="wrapperCol"
											has-feedback="">
											<a-input-number
												v-decorator="['taxRate', { initialValue: undefined, rules: [{ required: true, message: '请输入！' }] }]"
												v-model="fcData.taxRate" placeholder="请输入" style="width: 100%" :min="0" :max="100"
												:precision="0" />
										</a-form-item>
									</a-col>
								</div>
							</div>
						</div>
						<a-col :span="24">
							<div style="margin: 10px;">
								<span style="font-weight: bold;font-size: 18px;margin-right: 10px;">采购明细</span>
								<!-- <a-button type="primary" @click="$refs.selectMaterial.init(filteredData, materialType, poolType)">选择物料
								</a-button> -->
							</div>
							<a-table ref="table" size="default" :columns="isJSYRole() ? columns1 : columns"
								:data-source="filteredData" :pagination="false">
								<!-- 图片 -->
								<!-- <span slot="image" slot-scope="text">
									<image-preview :images="text" />
								</span> -->
								<span slot="image" slot-scope="text,record">
									<image-preview1 :images="text" :imageUrl="record.material.imageUrl" />
								</span>
								<!-- 采购数量 -->
								<span slot="buyNum" slot-scope="text, record">
									<a-input-number v-model="record.number" :min="1" :disabled="disabled" style="width: 100%" />
								</span>
								<!-- 单个加工费 -->
								<span slot="workPrice" slot-scope="text, record">
									<a-input-number v-model="record.workPrice" :min="0" :disabled="disabled" style="width: 100%" />
								</span>
								<span slot="baseMaterial" slot-scope="text, record">
									<a @click="showBaseMaterial(record)">基础物料</a>
								</span>
								<span slot="purchasePrice1" slot-scope="text, record">
									<span v-if="record.purchasePrice > record.lastPurchasePrice" style="color: red;">{{
										record.purchasePrice.toFixed(6) }}</span>
									<span v-if="record.purchasePrice < record.lastPurchasePrice" style="color: green;">{{
										record.purchasePrice.toFixed(6) }}</span>
									<span v-if="record.purchasePrice == record.lastPurchasePrice">{{
										record.purchasePrice.toFixed(6)
									}}</span>
								</span>
								<!-- 采购价 -->
								<span slot="buyPrice" slot-scope="text, record">
									<a-input-number v-model="record.purchasePrice" :precision="6" :min="0" style="width: 100%" />
								</span>
								<span slot="action" slot-scope="text, record, index">
									<a-popconfirm placement="topRight" title="确认移除？" @confirm="filteredData.splice(index, 1)">
										<a>移除</a>
									</a-popconfirm>
								</span>
							</a-table>
							<div v-if="managerOrFinance() || isCaiGouRole()"
								style="font-weight: bold;font-size: 17px;margin: 10px 0px;">订单总计金额：{{ parser(totalPrice) }}</div>
						</a-col>
					</template>
					<div v-if="!isJSYRole()">
						<a-col :span="24" style="margin-top: 20px;"
							v-if="currentType == 'audit' || currentExecuteStatus == '1479467316549017601'">
							<span style="font-weight: bold;margin-left: 80px;"
								v-if="currentExecuteStatus == '1479467316549017601'">审核信息</span>
							<a-form-item label="审核结果" :labelCol="labelColBlock" :wrapperCol="wrapperColBlock" has-feedback="">
								<a-radio-group :disabled="currentExecuteStatus == '1479467316549017601'"
									v-decorator="['executeStatus1', { rules: [{ required: true, message: '请选择！' }] }]"
									style="width: 100%;">
									<a-radio :value="'1479467316549017601'">
										通过
									</a-radio>
									<a-radio :value="'1816659510068121600'">
										驳回至待提交
									</a-radio>
									<a-radio :value="'1844268326599143426'">
										驳回至待报价
									</a-radio>
								</a-radio-group>
							</a-form-item>
						</a-col>
						<a-col :span="24" v-if="currentType == 'audit' || currentExecuteStatus == '1479467316549017601'">
							<a-form-item label="备注" :labelCol="labelColBlock" :wrapperCol="wrapperColBlock" has-feedback="">
								<a-textarea placeholder="请输入" :disabled="currentExecuteStatus == '1479467316549017601'"
									v-decorator="['cgAuditRemark']" />
							</a-form-item>
						</a-col>
						<a-col :span="24" v-if="currentExecuteStatus == '1479467316549017601'">
							<a-form-item label="操作记录" :labelCol="labelColBlock" :wrapperCol="wrapperColBlock" has-feedback="">
								<a-table :columns="auditColumns" :data-source="auditLog">

								</a-table>
							</a-form-item>
						</a-col>
					</div>
				</a-row>
			</a-form>
		</a-spin>
		<a-modal title="基础物料" width="80%" :visible="showBaseMaterialVisible" :maskClosable="false"
			@cancel="showBaseMaterialVisible = false" :footer="null">
			<a-table ref="table" size="default" :columns="baseMaterialColumns" :data-source="baseMaterialData"
				:pagination="false">
				<span slot="image" slot-scope="text,record">
					<image-preview1 :images="text" :imageUrl="record.material.imageUrl" />
				</span>
			</a-table>
		</a-modal>
	</a-modal>
</template>

<script>
import { STable } from '@/components'
import { list as emsOrgList } from '@/api/modular/main/emsorg/emsOrgManage'
import { getUrlParam, MATERIAL_TYPE_ENUM, ORDER_TYPE_ENUM } from '@/utils/util'
import { page as emsOrderMaterialManagePage } from '@/api/modular/main/emsordermaterial/emsOrderMaterialManage'

import { quotedPrice, caiwuAudit, page as log, againQuotedPrice } from '@/api/modular/main/workbench/purchaseRequestOrder';

export default {
	components: {
		// FcUpload,
		STable,
		// selectMaterial
	},
	data() {
		return {
			fcData: {
				taxRate: null,
				isInvoice: null,
				invoiceType: null,
			},
			executeStatusList: [
				{
					id: '1479467252946591746',
					name: '待报价'
				},
				{
					id: '1844266818289676290',
					name: '待审核'
				},
				{
					id: '1479467316549017601',
					name: '审核通过'
				},
				{
					id: '1844268326599143426',
					name: '重新报价'
				},
				{
					id: '1816659510068121600',
					name: '重新提交'
				},
			],
			type: '',   //父组件传过来的id
			poolType: '',
			selectedList: [],
			labelCol: {
				xs: { span: 24 },
				sm: { span: 9 }
			},
			wrapperCol: {
				xs: { span: 24 },
				sm: { span: 12 }
			},
			labelColBlock: {
				xs: { span: 24 },
				sm: { span: 3 }
			},
			wrapperColBlock: {
				xs: { span: 24 },
				sm: { span: 15 }
			},
			visible: false,
			confirmLoading: false,
			form: this.$form.createForm(this),
			fileList: [],
			orderMaterials: [],
			orgIdSupplier: 'all',
			// supplierList: [],
			columns: [       // 表头
				{
					title: '序号', width: '80px',
					dataIndex: 'index',
					customRender: (text, record, index) => `${index + 1}`
				},
				{
					title: '物料名称',
					dataIndex: 'materialName'
				},
				{
					title: '料号',
					dataIndex: 'materialCode'
				},
				{
					title: '规格',
					dataIndex: 'materialModelNumber'
				},
				{
					title: '已入库数量',
					dataIndex: 'completedNumber',
					align: "center",
					customRender: (text, record, index) => `${text ? text : '-'}`
				},
				{
					title: '图片',
					dataIndex: 'image',
					// customRender: (text, record, index) => this.$util.createFcImage(this.$createElement, text)
					scopedSlots: { customRender: 'image' }
				},
				{
					title: '库存',
					dataIndex: 'inventoryNumber'
				},
				{
					title: '采购数量',
					dataIndex: '',
					scopedSlots: { customRender: 'buyNum' }
				},
				{
					title: '采购价(含税价)',
					dataIndex: '',
					scopedSlots: { customRender: 'buyPrice' }
				},
				{
					title: '成本价(不含税)',
					dataIndex: '',
					// 如果是主要供应商,直接使用第0条数据中的税率,是否需要开票,发票类型字段
					// 如果是非主要供应商,使用fcData中的税率,是否需要开票,发票类型字段,并且根据选择的税率,计算税额,税后价,决定成本价和成本价小计的显示与否
					// 这里两个只是起显示作用,最终传给后端的数据是getCostPrice()方法计算出来的值
					customRender: (text, record, index) => {
						// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
						if (this.filteredData[0].isInvoice == 2) {
							// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
							if (this.filteredData[0].invoiceType == 2) {
								return ((record.purchasePrice || 0) / (1 + (this.filteredData[0].taxRate) / 100)).toFixed(2)
							} else {
								return this.filteredData[0].purchasePrice.toFixed(2)
							}
						} else {
							console.log(record);

							// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
							if (this.fcData.isInvoice == 2) {
								// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
								if (this.fcData.invoiceType == 2) {
									// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
									if (this.fcData.taxRate) {
										return ((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(2)
									} else {
										return '--'
									}
								} else {
									return this.filteredData[0].purchasePrice.toFixed(2)
								}
							} else {
								return this.filteredData[0].purchasePrice.toFixed(2)
							}
						}
						// if(this.filteredData&&this.filteredData[0].unitRanId=='1440879787235438593'){ //主要供应商
						// 	return ((record.purchasePrice||0) / (1 + (this.filteredData[0].taxRate&&this.filteredData[0].isInvoice==2&&this.filteredData[0].invoiceType==2 ? this.filteredData[0].taxRate : this.fcData.taxRate) / 100)).toFixed(2)
						//   // return ((record.purchasePrice||0) / (1 +  (this.fcData.taxRate&&this.fcData.isInvoice==2&&this.fcData.invoiceType==2 ? this.fcData.taxRate : 0) / 100)).toFixed(2)
						// } else if(
						// 	this.filteredData
						// 	&&this.filteredData[0].unitRanId=='1498270916314161153'
						// 	&&(this.fcData.isInvoice==1 || (this.fcData.isInvoice==2&&this.fcData.invoiceType==1) || (this.fcData.isInvoice==2&&this.fcData.invoiceType==2&&(this.fcData.taxRate||this.fcData.taxRate==0)))
						// ) { //非主要供应商
						// 	return ((record.purchasePrice||0) / (1 +
						// 	(this.fcData.taxRate&&this.fcData.isInvoice==2&&this.fcData.invoiceType==2 ? this.fcData.taxRate : 0)
						// 	/ 100)).toFixed(2)
						// } else {
						// 	return '--'
						// }
					}
				},
				{
					title: '成本价小计',
					customRender: (text, record, index) => {
						// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
						if (this.filteredData[0].isInvoice == 2) {
							// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
							if (this.filteredData[0].invoiceType == 2) {
								return (((record.purchasePrice || 0) / (1 + (this.filteredData[0].taxRate) / 100)).toFixed(2) * record.number).toFixed(2)
							} else {
								return this.filteredData[0].purchasePrice.toFixed(2)
							}
						} else {
							// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
							if (this.fcData.isInvoice == 2) {
								// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
								if (this.fcData.invoiceType == 2) {
									// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
									if (this.fcData.taxRate) {
										return (((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(2) * record.number).toFixed(2)
									} else {
										return '--'
									}
								} else {
									return this.filteredData[0].purchasePrice.toFixed(2)
								}
							} else {
								return this.filteredData[0].purchasePrice.toFixed(2)
							}
						}

						if (this.filteredData && this.filteredData[0].unitRanId == '1440879787235438593') { //主要供应商
							return (((record.purchasePrice || 0) /
								(1 + (this.filteredData[0].taxRate && this.filteredData[0].isInvoice == 2 && this.filteredData[0].invoiceType == 2 ? this.filteredData[0].taxRate : 0) / 100)).toFixed(2) * record.number).toFixed(2)
						} else if (
							this.filteredData
							&& this.filteredData[0].unitRanId == '1498270916314161153'
							&& (this.fcData.isInvoice == 1 || (this.fcData.isInvoice == 2 && this.fcData.invoiceType == 1) || (this.fcData.isInvoice == 2 && this.fcData.invoiceType == 2 && (this.fcData.taxRate || this.fcData.taxRate == 0)))
						) { //非主要供应商
							return (((record.purchasePrice || 0) / (1 + (this.fcData.taxRate && this.fcData.isInvoice == 2 && this.fcData.invoiceType == 2 ? this.fcData.taxRate : 0) / 100)).toFixed(2) * record.number).toFixed(2)
						} else {
							return '--'
						}
					}
				},
				{
					title: '操作',
					width: '100px',
					fixed: 'right',
					scopedSlots: { customRender: 'action' }
				}
			],
			columns1: [       // 表头
				{
					title: '序号', width: '80px',
					dataIndex: 'index',
					customRender: (text, record, index) => `${index + 1}`
				},
				{
					title: '物料名称',
					dataIndex: 'materialName'
				},
				{
					title: '料号',
					dataIndex: 'materialCode'
				},
				{
					title: '规格',
					dataIndex: 'materialModelNumber'
				},
				{
					title: '图片',
					dataIndex: 'image',
					// customRender: (text, record, index) => this.$util.createFcImage(this.$createElement, text)
					scopedSlots: { customRender: 'image' }
				},
				{
					title: '已入库数量',
					dataIndex: 'completedNumber',
					align: "center",
					customRender: (text, record, index) => `${text ? text : '-'}`
				},
				{
					title: '库存',
					dataIndex: 'inventoryNumber'
				},
				{
					title: '采购数量',
					dataIndex: '',
					scopedSlots: { customRender: 'buyNum' }
				},
			],
			disabled: false,
			title: null,
			filteredData: [],
			currentDetails: {
				supplier: {},
			},
			currentType: "",//当前操作
			currentExecuteStatus: null,
			auditLog: [],
			auditColumns: [],
			currentRecord: {},
			totalPrice: 0,
			showBaseMaterialVisible: false,
			baseMaterialData: [],
			baseMaterialColumns: [],
		}
	},
	computed: {
		ORDER_TYPE_ENUM() {
			return ORDER_TYPE_ENUM;
		},
		supplierList() {
			return this.$util.getOrgList([this.$businessEnum.ORG_TYPE_ENUM.PRIMARY_SUPPLIER.id, this.$businessEnum.ORG_TYPE_ENUM.NORMAL_SUPPLIER.id])
		},
		roleType() {
			return this.routePath.viewState;
		},
		orderType() {
			return this.routePath.orderType;
		},
		materialType() {
			return this.routePath.materialType;
		},
		routePath() {
			let urlParam = this.$util.getUrlParam(this.$route.path);
			console.log(urlParam, "urlParam");
			return urlParam
		},
	},
	methods: {
		parser(value) {
			return Number(value).toFixed(6);
		},
		showBaseMaterial(record) {
			emsOrderMaterialManagePage({
				pageSize: -1,
				// materialType: this.$util.getUrlParam(this.$route.path).materialType,
				orderId: record.orderId,
				sourceOrderMaterialId: record.orderMaterialId
			}).then(res => {
				this.showBaseMaterialVisible = true;
				this.baseMaterialData = res.data.rows;
				this.baseMaterialColumns = [
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '类型',
						dataIndex: 'material.materialTypeName'
					},
					{
						title: '料号',
						dataIndex: 'material.materialCode'
					},
					{
						title: '物料名称',
						dataIndex: 'material.materialName'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '图片',
						dataIndex: 'image',
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '实时库存',
						dataIndex: 'material.inventoryNumber'
					},
					{
						title: '所需数量',
						dataIndex: 'number'
					},
				]
			})
		},
		resetFcData() {
			this.fcData = {
				taxRate: undefined,
				isInvoice: undefined,
				invoiceType: undefined,
			}
		},
		// 动态计算成本价
		getCostPrice(purchasePrice) {
			try {
				// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
				//判断是主要供应商还是非主要供应商 如果是主要供应商 走if判断 否则走else
				if (this.currentDetails.supplier.isInvoice == 2) {
					// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
					if (this.currentDetails.supplier.invoiceType == 2) {
						return ((purchasePrice || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)).toFixed(6)
					} else {
						return (purchasePrice || 0).toFixed(6)
					}
				} else {
					// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
					if (this.fcData.isInvoice == 2) {
						// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
						if (this.fcData.invoiceType == 2) {//开专票计算
							// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
							if (this.fcData.taxRate) {
								return ((purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)
							} else {
								return '--'
							}
						} else {//普票
							return (purchasePrice || 0).toFixed(6)
						}
					} else {//不开票
						return (purchasePrice || 0).toFixed(6)
					}
				}
			} catch (e) {
				console.log(e)
			}
		},
		publicColumns(record) {
			let columns = [];
			console.log(record, "--------------------------");
			if (record.subOrderType == 2) {
				columns = [       // 表头
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '料号',
						dataIndex: 'materialCode'
					},
					{
						title: '物料名称',
						dataIndex: 'materialName'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '图片',
						dataIndex: 'image',
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '采购数量',
						dataIndex: 'number',
					},
					{
						title: '单个加工费',
						dataIndex: 'workPrice',
						scopedSlots: { customRender: 'workPrice' }
					},
					{
						title: '加工费小计',
						dataIndex: '',
						customRender: (text, record, index) => (record.workPrice * record.number).toFixed(6)
					},
					{
						title: '上次采购价',
						dataIndex: 'lastPurchasePrice',
						customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6)
					},
					{
						title: '采购价(含税价)',
						dataIndex: 'purchasePrice',
						customRender: (text, record, index) => (record.workPrice + record.childCostPrice).toFixed(6)
					},
					{
						title: '采购价小计',
						dataIndex: '',
						customRender: (text, record, index) => {
							return ((record.workPrice * record.number + record.childCostPrice * record.number) || 0).toFixed(6);
						}
					},
					{
						title: '成本价(不含税)',
						dataIndex: 'costPrice',
						// 如果是主要供应商,直接使用第0条数据中的税率,是否需要开票,发票类型字段
						// 如果是非主要供应商,使用fcData中的税率,是否需要开票,发票类型字段,并且根据选择的税率,计算税额,税后价,决定成本价和成本价小计的显示与否
						// 这里两个只是起显示作用,最终传给后端的数据是getCostPrice()方法计算出来的值
						customRender: (text, record, index) => {
							// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
							//判断是主要供应商还是非主要供应商 如果是主要供应商 走if判断 否则走else
							if (this.currentDetails.supplier.isInvoice == 2) {
								// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
								if (this.currentDetails.supplier.invoiceType == 2) {
									return (((record.workPrice + record.childCostPrice) || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)).toFixed(6)
								} else {
									return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
								}
							} else {
								// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
								if (this.fcData.isInvoice == 2) {
									// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
									if (this.fcData.invoiceType == 2) {//开专票计算
										// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
										if (this.fcData.taxRate) {
											return (((record.workPrice + record.childCostPrice) || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)
										} else {
											return '--'
										}
									} else {//普票
										return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
									}
								} else {//不开票
									return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
								}
							}
						}
					},
					{
						title: '成本价小计',
						customRender: (text, record, index) => {
							// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
							if (this.currentDetails.supplier.isInvoice == 2) {
								// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
								if (this.currentDetails.supplier.invoiceType == 2) {
									return ((((record.workPrice + record.childCostPrice) || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)) * record.number).toFixed(6)
								} else {
									return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
								}
							} else {
								// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
								if (this.fcData.isInvoice == 2) {
									// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
									if (this.fcData.invoiceType == 2) {
										// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
										if (this.fcData.taxRate) {
											return (((((record.workPrice + record.childCostPrice) || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)) * record.number).toFixed(6)
										} else {
											return '--'
										}
									} else {
										return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
									}
								} else {
									return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
								}
							}
						}
					},
					{
						title: '',
						dataIndex: '',
						scopedSlots: { customRender: 'baseMaterial' }
					},
				]
			} else {
				columns = [       // 表头
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '料号',
						dataIndex: 'materialCode'
					},
					{
						title: '物料名称',
						dataIndex: 'materialName'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '图片',
						dataIndex: 'image',
						// customRender: (text, record, index) => this.$util.createFcImage(this.$createElement, text)
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '采购数量',
						dataIndex: 'number',
					},

					{
						title: '上次采购价',
						dataIndex: 'lastPurchasePrice',
						customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6)
					},
					{
						title: '采购价(含税价)',
						dataIndex: 'purchasePrice',
						scopedSlots: { customRender: 'buyPrice' }
					},
					{
						title: '采购价小计',
						dataIndex: '',
						customRender: (text, record, index) => {
							return (record.number * ((record.purchasePrice || 0))).toFixed(6);
						}
					},
					{
						title: '成本价(不含税)',
						dataIndex: 'costPrice',
						// 如果是主要供应商,直接使用第0条数据中的税率,是否需要开票,发票类型字段
						// 如果是非主要供应商,使用fcData中的税率,是否需要开票,发票类型字段,并且根据选择的税率,计算税额,税后价,决定成本价和成本价小计的显示与否
						// 这里两个只是起显示作用,最终传给后端的数据是getCostPrice()方法计算出来的值
						customRender: (text, record, index) => {
							// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
							//判断是主要供应商还是非主要供应商 如果是主要供应商 走if判断 否则走else
							if (this.currentDetails.supplier.isInvoice == 2) {
								// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
								if (this.currentDetails.supplier.invoiceType == 2) {
									return ((record.purchasePrice || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)).toFixed(6)
								} else {
									return (record.purchasePrice || 0).toFixed(6)
								}
							} else {
								// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
								if (this.fcData.isInvoice == 2) {
									// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
									if (this.fcData.invoiceType == 2) {//开专票计算
										// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
										if (this.fcData.taxRate) {
											return ((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)
										} else {
											return '--'
										}
									} else {//普票
										return (record.purchasePrice || 0).toFixed(6)
									}
								} else {//不开票
									return (record.purchasePrice || 0).toFixed(6)
								}
							}
						}
					},
					{
						title: '成本价小计',
						customRender: (text, record, index) => {
							// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
							if (this.currentDetails.supplier.isInvoice == 2) {
								// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
								if (this.currentDetails.supplier.invoiceType == 2) {
									return (((record.purchasePrice || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)) * record.number).toFixed(6)
								} else {
									return (record.purchasePrice || 0).toFixed(6)
								}
							} else {
								// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
								if (this.fcData.isInvoice == 2) {
									// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
									if (this.fcData.invoiceType == 2) {
										// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
										if (this.fcData.taxRate) {
											return ((((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)) * record.number).toFixed(6)
										} else {
											return '--'
										}
									} else {
										return (record.purchasePrice || 0).toFixed(6)
									}
								} else {
									return (record.purchasePrice || 0).toFixed(6)
								}
							}
						}
					},
				]
			}
			return columns
		},
		publicColumnsReadOnly(record) {
			let columns = [];
			if (record.subOrderType == 2) {
				columns = [       // 表头
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '料号',
						dataIndex: 'materialCode'
					},
					{
						title: '物料名称',
						dataIndex: 'materialName'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '已入库数量',
						dataIndex: 'completedNumber',
						align: "center",
						customRender: (text, record, index) => `${text ? text : '-'}`
					},
					{
						title: '图片',
						dataIndex: 'image',
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '采购数量',
						dataIndex: 'number',
					},
					{
						title: '单个加工费',
						dataIndex: 'workPrice',
						scopedSlots: { customRender: 'workPrice' }
					},
					{
						title: '加工费小计',
						dataIndex: '',
						customRender: (text, record, index) => (record.workPrice * record.number).toFixed(6)
					},
					{
						title: '上次采购价',
						dataIndex: 'lastPurchasePrice',
						customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6),
					},
					{
						title: '采购价(含税价)',
						dataIndex: 'purchasePrice',
						scopedSlots: { customRender: 'purchasePrice1' }
					},
					{
						title: '采购价小计',
						dataIndex: '',
						customRender: (text, record, index) => {
							// return (record.number * (((record.workPrice * record.number) + record.childCostPrice) || 0)).toFixed(6);
							return ((record.workPrice * record.number + record.childCostPrice * record.number) || 0).toFixed(6);
						}
					},
					{
						title: '成本价(不含税)',
						dataIndex: 'costPrice',
					},
					{
						title: '成本价小计',
						customRender: (text, record, index) => {
							return (record.number * ((record.costPrice || 0))).toFixed(6);
						}
					},
					{
						title: '',
						dataIndex: '',
						scopedSlots: { customRender: 'baseMaterial' }
					},
				]
			} else {
				columns = [       // 表头
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '料号',
						dataIndex: 'materialCode'
					},
					{
						title: '物料名称',
						dataIndex: 'materialName'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '已入库数量',
						dataIndex: 'completedNumber',
						align: "center",
						customRender: (text, record, index) => `${text ? text : '-'}`
					},
					{
						title: '图片',
						dataIndex: 'image',
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '采购数量',
						dataIndex: 'number',
					},
					{
						title: '上次采购价',
						dataIndex: 'lastPurchasePrice',
						customRender: (text, record, index) => record.lastPurchasePrice.toFixed(2),
					},
					{
						title: '采购价(含税价)',
						dataIndex: 'purchasePrice',
						scopedSlots: { customRender: 'purchasePrice1' }
					},
					{
						title: '采购价小计',
						dataIndex: '',
						customRender: (text, record, index) => {
							return (record.number * ((record.purchasePrice || 0))).toFixed(6);
						}
					},
					{
						title: '成本价(不含税)',
						dataIndex: 'costPrice',
					},
					{
						title: '成本价小计',
						customRender: (text, record, index) => {
							return (record.number * ((record.costPrice || 0))).toFixed(6);
						}
					},
				]
			}
			return columns
		},
		publicFunction(record) {
			this.visible = true;
			setTimeout(() => {
				this.form.setFieldsValue({
					...record,
					executeStatus1: null,
					isInvoice: record.supplier.isInvoice,
					invoiceType: record.supplier.invoiceType,
					taxRate: record.supplier.taxRate,
				})
			}, 200)
			console.log("record@@@record", record);
			this.currentDetails = record;
			console.log("materialType@@@materialType", this.materialType);

			emsOrderMaterialManagePage({
				pageSize: -1,
				materialType: this.$util.getUrlParam(this.$route.path).materialType,
				orderId: record.orderId,
				sourceOrderMaterialId: 0
			}).then(res => {
				console.log("res@@@", res);

				this.filteredData = res.data.rows;
				this.totalPrice = 0;
				this.filteredData.forEach(val => {
					this.totalPrice += val.number * val.purchasePrice;
				})
			})
		},
		//详情
		readonly(record, executeStatus) {
			this.disabled = true;
			this.title = "详情";
			this.currentExecuteStatus = executeStatus;
			this.currentRecord = record;
			this.currentType = 'readonly'
			//待报价
			if (executeStatus == '1479467252946591746') {
				if (record.subOrderType == 2) {
					this.columns = [       // 表头
					{
						title: '序号', width: '80px',
						dataIndex: 'index',
						customRender: (text, record, index) => `${index + 1}`
					},
					{
						title: '物料名称',
						dataIndex: 'materialName'
					},
					{
						title: '料号',
						dataIndex: 'materialCode'
					},
					{
						title: '规格',
						dataIndex: 'material.materialModelNumber'
					},
					{
						title: '已入库数量',
						dataIndex: 'completedNumber',
						align: "center",
						customRender: (text, record, index) => `${text ? text : '-'}`
					},
					{
						title: '图片',
						dataIndex: 'image',
						scopedSlots: { customRender: 'image' }
					},
					{
						title: '采购数量',
						dataIndex: 'number',
					},
					{
						title: '',
						dataIndex: '',
						scopedSlots: { customRender: 'baseMaterial' }
					},
				]
				} else {
					this.columns = [       // 表头
						{
							title: '序号', width: '80px',
							dataIndex: 'index',
							customRender: (text, record, index) => `${index + 1}`
						},
						{
							title: '物料名称',
							dataIndex: 'materialName'
						},
						{
							title: '料号',
							dataIndex: 'materialCode'
						},
						{
							title: '规格',
							dataIndex: 'material.materialModelNumber'
						},
						{
							title: '已入库数量',
							dataIndex: 'completedNumber',
							align: "center",
							customRender: (text, record, index) => `${text ? text : '-'}`
						},
						{
							title: '图片',
							dataIndex: 'image',
							scopedSlots: { customRender: 'image' }
						},
						{
							title: '采购数量',
							dataIndex: 'number',
						},
					]
				}

			} else {
				this.columns = this.publicColumnsReadOnly(record);
			}
			this.publicFunction(record);
			setTimeout(() => {
				this.form.setFieldsValue({
					executeStatus1: record.executeStatus
				})
			}, 200);
			if (executeStatus == '1479467316549017601') {
				this.auditColumns = [
					{
						title: '时间',
						dataIndex: 'createTime'
					},
					{
						title: '操作人',
						dataIndex: 'operateMan'
					},
					{
						title: '操作内容',
						dataIndex: 'operateMode'
					},
				]
				log({
					sourceOrderId: record.orderId,
					pageSize: -1
				}).then(res => {
					this.auditLog = res.data.rows
				})
			}
		},
		//报价
		quote(record) {
			this.publicFunction(record);
			this.columns = this.publicColumns(record);
			this.title = "报价";
			this.currentExecuteStatus = record.executeStatus
			this.disabled = false;
			this.currentType = "quote";
		},
		//重新报价
		reQuote(record) {
			this.publicFunction(record);
			this.columns = this.publicColumns(record);
			this.title = "重新报价";
			this.currentExecuteStatus = record.executeStatus
			this.disabled = false;
			this.currentType = "reQuote";
		},
		//重新提交
		reSubmit(record) {
			this.publicFunction(record);
			this.columns = this.publicColumns(record);
			this.title = "重新提交";
			this.currentExecuteStatus = record.executeStatus
			this.disabled = false;
			this.currentType = "reSubmit";
		},
		//财务审核
		audit(record) {
			setTimeout(() => {
				this.form.setFieldsValue({
					...record,
					executeStatus1: null,
					cgAuditRemark: null
				})
			}, 100)
			this.currentExecuteStatus = record.executeStatus
			this.currentRecord = record;
			this.currentDetails = record;
			// emsOrderMaterialManagePage({
			// 	pageSize: -1,
			// 	materialType: this.$util.getUrlParam(this.$route.path).materialType,
			// 	orderId: record.orderId,
			// 	sourceOrderMaterialId: 0
			// }).then(res => {
			// 	console.log("res@@@", res);
			// 	this.filteredData = res.data.rows
			// })
			this.publicFunction(record);
			this.columns = this.publicColumnsReadOnly(record);
			// this.columns = [       // 表头
			// 	{
			// 		title: '序号', width: '80px',
			// 		dataIndex: 'index',
			// 		customRender: (text, record, index) => `${index + 1}`
			// 	},
			// 	{
			// 		title: '料号',
			// 		dataIndex: 'materialCode'
			// 	},
			// 	{
			// 		title: '物料名称',
			// 		dataIndex: 'materialName'
			// 	},
			// 	{
			// 		title: '规格',
			// 		dataIndex: 'material.materialModelNumber'
			// 	},
			// 	{
			// 		title: '图片',
			// 		dataIndex: 'image',
			// 		// customRender: (text, record, index) => this.$util.createFcImage(this.$createElement, text)
			// 		scopedSlots: { customRender: 'image' }
			// 	},
			// 	{
			// 		title: '采购数量',
			// 		dataIndex: 'number',
			// 	},
			// 	{
			// 		title: '上次采购价',
			// 		dataIndex: 'lastPurchasePrice',
			// 		customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6)
			// 	},
			// 	{
			// 		title: '采购价(含税价)',
			// 		dataIndex: 'purchasePrice',
			// 		// customRender: (text, record, index) => record.purchasePrice.toFixed(2),
			// 		scopedSlots: { customRender: 'purchasePrice1' }
			// 	},
			// 	{
			// 		title: '采购价小计',
			// 		dataIndex: '',
			// 		customRender: (text, record, index) => {
			// 			return (record.number * ((record.purchasePrice || 0))).toFixed(6);
			// 		}
			// 	},
			// 	{
			// 		title: '成本价(不含税)',
			// 		dataIndex: 'costPrice',
			// 	},
			// 	{
			// 		title: '成本价小计',
			// 		customRender: (text, record, index) => {
			// 			return (record.number * ((record.costPrice || 0))).toFixed(6);
			// 		}
			// 	},
			// ]
			// if (record.subOrderType == 2) {
			// 	this.columns = [       // 表头
			// 		{
			// 			title: '序号', width: '80px',
			// 			dataIndex: 'index',
			// 			customRender: (text, record, index) => `${index + 1}`
			// 		},
			// 		{
			// 			title: '料号',
			// 			dataIndex: 'materialCode'
			// 		},
			// 		{
			// 			title: '物料名称',
			// 			dataIndex: 'materialName'
			// 		},
			// 		{
			// 			title: '规格',
			// 			dataIndex: 'material.materialModelNumber'
			// 		},
			// 		{
			// 			title: '图片',
			// 			dataIndex: 'image',
			// 			scopedSlots: { customRender: 'image' }
			// 		},
			// 		{
			// 			title: '采购数量',
			// 			dataIndex: 'number',
			// 		},
			// 		{
			// 			title: '单个加工费',
			// 			dataIndex: 'workPrice',
			// 			scopedSlots: { customRender: 'workPrice' }
			// 		},
			// 		{
			// 			title: '加工费小计',
			// 			dataIndex: '',
			// 			customRender: (text, record, index) => (record.workPrice * record.number).toFixed(6)
			// 		},
			// 		{
			// 			title: '上次采购价',
			// 			dataIndex: 'lastPurchasePrice',
			// 			customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6)
			// 		},
			// 		{
			// 			title: '采购价(含税价)',
			// 			dataIndex: 'purchasePrice',
			// 			customRender: (text, record, index) => (record.workPrice + record.childCostPrice).toFixed(6)
			// 		},
			// 		{
			// 			title: '采购价小计',
			// 			dataIndex: '',
			// 			customRender: (text, record, index) => {
			// 				return (record.number * (((record.workPrice * record.number) + record.childCostPrice) || 0)).toFixed(6);
			// 			}
			// 		},
			// 		{
			// 			title: '成本价(不含税)',
			// 			dataIndex: 'costPrice',
			// 			// 如果是主要供应商,直接使用第0条数据中的税率,是否需要开票,发票类型字段
			// 			// 如果是非主要供应商,使用fcData中的税率,是否需要开票,发票类型字段,并且根据选择的税率,计算税额,税后价,决定成本价和成本价小计的显示与否
			// 			// 这里两个只是起显示作用,最终传给后端的数据是getCostPrice()方法计算出来的值
			// 			customRender: (text, record, index) => {
			// 				// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
			// 				//判断是主要供应商还是非主要供应商 如果是主要供应商 走if判断 否则走else
			// 				if (this.currentDetails.supplier.isInvoice == 2) {
			// 					// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
			// 					if (this.currentDetails.supplier.invoiceType == 2) {
			// 						return (((record.workPrice + record.childCostPrice) || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)).toFixed(6)
			// 					} else {
			// 						return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 					}
			// 				} else {
			// 					// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
			// 					if (this.fcData.isInvoice == 2) {
			// 						// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
			// 						if (this.fcData.invoiceType == 2) {//开专票计算
			// 							// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
			// 							if (this.fcData.taxRate) {
			// 								return (((record.workPrice + record.childCostPrice) || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)
			// 							} else {
			// 								return '--'
			// 							}
			// 						} else {//普票
			// 							return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 						}
			// 					} else {//不开票
			// 						return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 					}
			// 				}
			// 			}
			// 		},
			// 		{
			// 			title: '成本价小计',
			// 			customRender: (text, record, index) => {
			// 				// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
			// 				if (this.currentDetails.supplier.isInvoice == 2) {
			// 					// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
			// 					if (this.currentDetails.supplier.invoiceType == 2) {
			// 						return ((((record.workPrice + record.childCostPrice) || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)) * record.number).toFixed(6)
			// 					} else {
			// 						return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 					}
			// 				} else {
			// 					// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
			// 					if (this.fcData.isInvoice == 2) {
			// 						// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
			// 						if (this.fcData.invoiceType == 2) {
			// 							// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
			// 							if (this.fcData.taxRate) {
			// 								return (((((record.workPrice + record.childCostPrice) || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)) * record.number).toFixed(6)
			// 							} else {
			// 								return '--'
			// 							}
			// 						} else {
			// 							return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 						}
			// 					} else {
			// 						return ((record.workPrice + record.childCostPrice) || 0).toFixed(6)
			// 					}
			// 				}
			// 			}
			// 		},
			// 		{
			// 			title: '',
			// 			dataIndex: '',
			// 			scopedSlots: { customRender: 'baseMaterial' }
			// 		},
			// 	]
			// } else {
			// 	this.columns = [       // 表头
			// 		{
			// 			title: '序号', width: '80px',
			// 			dataIndex: 'index',
			// 			customRender: (text, record, index) => `${index + 1}`
			// 		},
			// 		{
			// 			title: '料号',
			// 			dataIndex: 'materialCode'
			// 		},
			// 		{
			// 			title: '物料名称',
			// 			dataIndex: 'materialName'
			// 		},
			// 		{
			// 			title: '规格',
			// 			dataIndex: 'material.materialModelNumber'
			// 		},
			// 		{
			// 			title: '图片',
			// 			dataIndex: 'image',
			// 			// customRender: (text, record, index) => this.$util.createFcImage(this.$createElement, text)
			// 			scopedSlots: { customRender: 'image' }
			// 		},
			// 		{
			// 			title: '采购数量',
			// 			dataIndex: 'number',
			// 		},

			// 		{
			// 			title: '上次采购价',
			// 			dataIndex: 'lastPurchasePrice',
			// 			customRender: (text, record, index) => record.lastPurchasePrice.toFixed(6)
			// 		},
			// 		{
			// 			title: '采购价(含税价)',
			// 			dataIndex: 'purchasePrice',
			// 			scopedSlots: { customRender: 'buyPrice' }
			// 		},
			// 		{
			// 			title: '采购价小计',
			// 			dataIndex: '',
			// 			customRender: (text, record, index) => {
			// 				return (record.number * ((record.purchasePrice || 0))).toFixed(6);
			// 			}
			// 		},
			// 		{
			// 			title: '成本价(不含税)',
			// 			dataIndex: 'costPrice',
			// 			// 如果是主要供应商,直接使用第0条数据中的税率,是否需要开票,发票类型字段
			// 			// 如果是非主要供应商,使用fcData中的税率,是否需要开票,发票类型字段,并且根据选择的税率,计算税额,税后价,决定成本价和成本价小计的显示与否
			// 			// 这里两个只是起显示作用,最终传给后端的数据是getCostPrice()方法计算出来的值
			// 			customRender: (text, record, index) => {
			// 				// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
			// 				//判断是主要供应商还是非主要供应商 如果是主要供应商 走if判断 否则走else
			// 				if (this.currentDetails.supplier.isInvoice == 2) {
			// 					// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
			// 					if (this.currentDetails.supplier.invoiceType == 2) {
			// 						return ((record.purchasePrice || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)).toFixed(6)
			// 					} else {
			// 						return (record.purchasePrice || 0).toFixed(6)
			// 					}
			// 				} else {
			// 					// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
			// 					if (this.fcData.isInvoice == 2) {
			// 						// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
			// 						if (this.fcData.invoiceType == 2) {//开专票计算
			// 							// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
			// 							if (this.fcData.taxRate) {
			// 								return ((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)
			// 							} else {
			// 								return '--'
			// 							}
			// 						} else {//普票
			// 							return (record.purchasePrice || 0).toFixed(6)
			// 						}
			// 					} else {//不开票
			// 						return (record.purchasePrice || 0).toFixed(6)
			// 					}
			// 				}
			// 			}
			// 		},
			// 		{
			// 			title: '成本价小计',
			// 			customRender: (text, record, index) => {
			// 				// 先判断是否开票 不开票：成本价=采购价。 isInvoice：1 = 不开票 ， 2 = 开票
			// 				if (this.currentDetails.supplier.isInvoice == 2) {
			// 					// 再判断是专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票
			// 					if (this.currentDetails.supplier.invoiceType == 2) {
			// 						return (((record.purchasePrice || 0) / (1 + (this.currentDetails.supplier.taxRate) / 100)) * record.number).toFixed(6)
			// 					} else {
			// 						return (record.purchasePrice || 0).toFixed(6)
			// 					}
			// 				} else {
			// 					// 如果是不开票先判断页面是否选择了开票 、isInvoice：1 = 不开票 ， 2 = 开票 （fcData.isInvoice：本地data的数据开票）
			// 					if (this.fcData.isInvoice == 2) {
			// 						// 再判断页面是否选择了专票还是普票。 invoiceType：1 = 普票 ， 2 = 专票（fcData.invoiceType：本地data的数据发票类型）
			// 						if (this.fcData.invoiceType == 2) {
			// 							// 是专票的话看税率是否有值（fcData.taxRate：本地data的数据税率）
			// 							if (this.fcData.taxRate) {
			// 								return ((((record.purchasePrice || 0) / (1 + (this.fcData.taxRate) / 100)).toFixed(6)) * record.number).toFixed(6)
			// 							} else {
			// 								return '--'
			// 							}
			// 						} else {
			// 							return (record.purchasePrice || 0).toFixed(6)
			// 						}
			// 					} else {
			// 						return (record.purchasePrice || 0).toFixed(6)
			// 					}
			// 				}
			// 			}
			// 		},
			// 	]
			// }
			this.visible = true;
			this.title = "审核";
			this.disabled = true;
			this.currentType = "audit";
		},
		// 打开弹框时候生成一个单号
		createOrderNumber() {
			var d = new Date()
			var year = d.getFullYear()
			var month = d.getMonth()
			month = month + 1 > 12 ? 1 : month + 1
			month = month > 9 ? month : "0" + month.toString()
			var day = d.getDate()
			day = day > 9 ? day : "0" + day.toString()
			var hour = d.getHours()
			hour = hour > 9 ? hour : "0" + hour.toString()
			var minute = d.getMinutes()
			minute = minute > 9 ? minute : "0" + minute.toString()
			var second = d.getSeconds()
			second = second > 9 ? second : "0" + second.toString()

			let num = parseInt(Math.random() * 100000).toString()
			// 如果随机数长度不够5位,则在后面补0,够5位为止
			for (let i = num.length; i < 5; i++) {
				num += '0'
			}

			let header = this.type == this.ORDER_TYPE_ENUM.inOrder.id ? 'WDRK' : this.type == this.ORDER_TYPE_ENUM.outOrder.id ? 'WDCK' : this.type == this.ORDER_TYPE_ENUM.purchaseOrder.id ? 'CG' : ''

			let scOrderNo = header + year + month + day + hour + minute + second + num

			this.form.setFieldsValue({ orderNumber: scOrderNo })
		},
		handleSubmit() {
			const { form: { validateFields } } = this
			validateFields((errors, values) => {
				if (!errors) {
					if (this.currentType == 'quote') {//报价操作
						let data = this.filteredData.filter(value => !value.purchasePrice)
						if (data.length > 0 && values.subOrderType != 2) {
							this.$message.error("请输入采购价")
							return
						}
						console.log(values);
						console.log(this.filteredData);

						let orderMaterials = this.filteredData.map(val => {
							return {
								purchasePrice: values.subOrderType == 2 ? ((val.workPrice + val.childCostPrice)) : val.purchasePrice,
								costPrice: this.getCostPrice(values.subOrderType == 2 ? ((val.workPrice + val.childCostPrice)) : val.purchasePrice),
								orderMaterialId: val.orderMaterialId,
								workPrice: val.workPrice
							}
						})
						let isTrue = this.currentDetails.supplier.isInvoice == 2;


						let params = {
							orderId: this.currentDetails.orderId,
							orderMaterials: orderMaterials,
							isInvoice: isTrue ? 2 : 1,
							invoiceType: isTrue ? this.currentDetails.supplier.invoiceType : this.fcData.invoiceType,
							taxRate: isTrue ? this.currentDetails.supplier.taxRate : this.fcData.taxRate,
						}
						console.log("params", params);
						// return
						this.confirmLoading = true
						quotedPrice(params).then(res => {
							if (res.code == 200) {
								this.confirmLoading = false;
								this.visible = false;
								this.$message.success('报价成功');
								this.$emit("ok")
							}
						})
					}
					if (this.currentType == 'reQuote') {
						let data = this.filteredData.filter(value => !value.purchasePrice)
						if (data.length > 0 && values.subOrderType != 2) {
							this.$message.error("请输入采购价")
							return
						}
						console.log(values);
						console.log(this.filteredData);

						let orderMaterials = this.filteredData.map(val => {
							return {
								purchasePrice: values.subOrderType == 2 ? ((val.workPrice + val.childCostPrice)) : val.purchasePrice,
								costPrice: this.getCostPrice(values.subOrderType == 2 ? ((val.workPrice + val.childCostPrice)) : val.purchasePrice),
								orderMaterialId: val.orderMaterialId,
								workPrice: val.workPrice
							}
						})
						let isTrue = this.currentDetails.supplier.isInvoice == 2;

						let params = {
							orderId: this.currentDetails.orderId,
							orderMaterials: orderMaterials,
							isInvoice: isTrue ? 2 : 1,
							invoiceType: isTrue ? this.currentDetails.supplier.invoiceType : this.fcData.invoiceType,
							taxRate: isTrue ? this.currentDetails.supplier.taxRate : this.fcData.taxRate,
						}
						console.log("params", params);
						// return
						this.confirmLoading = true
						againQuotedPrice(params).then(res => {
							if (res.code == 200) {
								this.confirmLoading = false;
								this.visible = false;
								this.$message.success('报价成功');
								this.$emit("ok")
							}
						})
					}
					if (this.currentType == 'audit') {
						let params = {
							orderId: this.currentDetails.orderId,
							executeStatus: values.executeStatus1,
							cgAuditRemark: values.cgAuditRemark,
						}
						caiwuAudit(params).then(res => {
							if (res.code) {
								this.confirmLoading = false;
								this.visible = false;
								this.$message.success('审核成功');
								this.$emit("ok")
							}
						});
					}
				} else {
					this.confirmLoading = false
				}
			})
		},
		handleCancel() {
			this.form.resetFields()
			this.visible = false
			this.resetFcData()
		},
		// upload
		handleFileListStringChange(fileListString) {
			this.form.setFieldsValue({ file: fileListString })
		},
	},
	created() {
	}
}
</script>

<style lang="less" scoped></style>
